package com.core.zyyz.pcmc.domain;

import java.io.Serializable;
import java.util.Map;
import java.util.Set;

public class DataPermissionEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    private String userCode;
    private Set<String> roleCodes;
    private String functionCode;
    private String requestUrl;
    private Map<String, String> requestParam;

    public String getUserCode() {
        return this.userCode;
    }

    public Set<String> getRoleCodes() {
        return this.roleCodes;
    }

    public String getFunctionCode() {
        return this.functionCode;
    }

    public String getRequestUrl() {
        return this.requestUrl;
    }

    public Map<String, String> getRequestParam() {
        return this.requestParam;
    }

    public DataPermissionEntity setUserCode(final String userCode) {
        this.userCode = userCode;
        return this;
    }

    public DataPermissionEntity setRoleCodes(final Set<String> roleCodes) {
        this.roleCodes = roleCodes;
        return this;
    }

    public DataPermissionEntity setFunctionCode(final String functionCode) {
        this.functionCode = functionCode;
        return this;
    }

    public DataPermissionEntity setRequestUrl(final String requestUrl) {
        this.requestUrl = requestUrl;
        return this;
    }

    public DataPermissionEntity setRequestParam(final Map<String, String> requestParam) {
        this.requestParam = requestParam;
        return this;
    }

    public String toString() {
        return "DataPermissionEntity(userCode=" + this.getUserCode() + ", roleCodes=" + this.getRoleCodes() + ", functionCode=" + this.getFunctionCode() + ", requestUrl=" + this.getRequestUrl() + ", requestParam=" + this.getRequestParam() + ")";
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof DataPermissionEntity)) {
            return false;
        } else {
            DataPermissionEntity other = (DataPermissionEntity)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label71: {
                    Object this$userCode = this.getUserCode();
                    Object other$userCode = other.getUserCode();
                    if (this$userCode == null) {
                        if (other$userCode == null) {
                            break label71;
                        }
                    } else if (this$userCode.equals(other$userCode)) {
                        break label71;
                    }

                    return false;
                }

                Object this$roleCodes = this.getRoleCodes();
                Object other$roleCodes = other.getRoleCodes();
                if (this$roleCodes == null) {
                    if (other$roleCodes != null) {
                        return false;
                    }
                } else if (!this$roleCodes.equals(other$roleCodes)) {
                    return false;
                }

                label57: {
                    Object this$functionCode = this.getFunctionCode();
                    Object other$functionCode = other.getFunctionCode();
                    if (this$functionCode == null) {
                        if (other$functionCode == null) {
                            break label57;
                        }
                    } else if (this$functionCode.equals(other$functionCode)) {
                        break label57;
                    }

                    return false;
                }

                Object this$requestUrl = this.getRequestUrl();
                Object other$requestUrl = other.getRequestUrl();
                if (this$requestUrl == null) {
                    if (other$requestUrl != null) {
                        return false;
                    }
                } else if (!this$requestUrl.equals(other$requestUrl)) {
                    return false;
                }

                Object this$requestParam = this.getRequestParam();
                Object other$requestParam = other.getRequestParam();
                if (this$requestParam == null) {
                    if (other$requestParam == null) {
                        return true;
                    }
                } else if (this$requestParam.equals(other$requestParam)) {
                    return true;
                }

                return false;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof DataPermissionEntity;
    }

//    public int hashCode() {
//        int PRIME = true;
//        int result = 1;
//        Object $userCode = this.getUserCode();
//        int result = result * 59 + ($userCode == null ? 43 : $userCode.hashCode());
//        Object $roleCodes = this.getRoleCodes();
//        result = result * 59 + ($roleCodes == null ? 43 : $roleCodes.hashCode());
//        Object $functionCode = this.getFunctionCode();
//        result = result * 59 + ($functionCode == null ? 43 : $functionCode.hashCode());
//        Object $requestUrl = this.getRequestUrl();
//        result = result * 59 + ($requestUrl == null ? 43 : $requestUrl.hashCode());
//        Object $requestParam = this.getRequestParam();
//        result = result * 59 + ($requestParam == null ? 43 : $requestParam.hashCode());
//        return result;
//    }

    public DataPermissionEntity() {
    }
}
